/*
 * (C) Copyright 2023 orchy
 * This file is licensed under the BSD-3-Clause license.
 * <https://spdx.org/licenses/BSD-3-Clause.html>
 */
#ifndef _SIGNAL_H
#define _SIGNAL_H

// # 7.14.0
// ## 7.14.0.2
typedef int sig_atomic_t;

// ## 7.14.0.3
#define SIG_DFL (1)
#define SIG_ERR (2)
#define SIG_IGN (3)

#define SIGABRT (10)
#define SIGFPE (11)
#define SIGILL (12)
#define SIGINT (13)
#define SIGSEGV (14)
#define SIGTERM (15)

// # 7.14.1
// ## 7.14.1.1
void (*signal(int sig, void (*func)(int)))(int);

// ## 7.14.2.1
int raise(int sig);

#endif
